﻿#region MIT Licence
/*
 * Copyright (C) 2014 PdfCreative
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy of this software 
 * and associated documentation files (the "Software"), to deal in the Software without restriction, 
 * including without limitation the rights to use, copy, modify, merge, publish, distribute, 
 * sublicense, and/or sell copies of the Software, and to permit persons to whom 
 * the Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included 
 * in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, 
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE 
 * AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 */
#endregion

using System;
using System.Collections.Generic;
using System.Text;

namespace PdfCreative.Pdf.Graphics.Tables
{
    /// <summary>
    /// The Borders enumeration lists the possible combinations of cell borders.
    /// A table cell can have up to four borders, for its top, right, bottom and left edges.
    /// </summary>
    [Flags()]
    public enum Borders
    {
        /// <summary>
        /// The cell has no borders.
        /// </summary>
        None            = 0x0,

        /// <summary>
        /// The cell has a border along its top edge only.
        /// </summary>
        Top             = 0x1,

        /// <summary>
        /// The cell has a border along its bottom edge only.
        /// </summary>
        Bottom          = 0x2,

        /// <summary>
        /// The cell has borders along its top and bottom edges.
        /// </summary>
        TopBottom       = 0x3,

        /// <summary>
        /// The cell has a border along its right-hand edge.
        /// </summary>
        Right           = 0x4,

        /// <summary>
        /// The cell has borders along its top and right-hand edges.
        /// </summary>
        TopRight        = 0x5,

        /// <summary>
        /// The cell has borders along its bottom and right-hand edges.
        /// </summary>
        BottomRight     = 0x6,

        /// <summary>
        /// The cell has borders along its top, bottom and right-hand edges.
        /// </summary>
        TopBottomRight  = 0x7,

        /// <summary>
        /// The cell has a border along its left-hand edge only.
        /// </summary>
        Left            = 0x8,

        /// <summary>
        /// The cell has borders along its top and left-hand edges.
        /// </summary>
        TopLeft         = 0x9,

        /// <summary>
        /// The cell has borders along its bottom and left-hand edges.
        /// </summary>
        BottomLeft      = 0xa,

        /// <summary>
        /// The cell has borders along its top, bottom and left-hand edges.
        /// </summary>
        TopBottomLeft   = 0xb,

        /// <summary>
        /// The cell has borders along its left-hand and right-hand edges.
        /// </summary>
        RightLeft       = 0xc,

        /// <summary>
        /// The cell has borders along its top, right-hand and left-hand edges.
        /// </summary>
        TopRightLeft    = 0xd,

        /// <summary>
        /// The cell has borders along its bottom, right-hand and left-hand edges.
        /// </summary>
        BottomRightLeft = 0xe,

        /// <summary>
        /// The cell has borders along all edges.
        /// </summary>
        All             = 0xf
    }
}
